AngouriMath
IBasisOps`1
Description
Summary
What a basis has to be able to do for its terms to be factorable: it is a monoid, and
its elements have a greatest common part that can be divided out.
its elements have a greatest common part that can be divided out.
Type parameter "TBasis"
An exponent vector for a polynomial, a rational exponent for a series, a basis ket for a
quantum state.
quantum state.
Remarks
Passed as an instance rather than fixed by a type parameter with new() . The
codebase does it the other way in
PolynomialSolver.GatherMonomialInformation<T, TPrimitive> , and that shape
is harder to test in isolation for no gain here, since these operations are stateless
and one instance serves every call.
**Meet(`0,`0) is what makes factoring one operation across features.** Dividing
out the meet of the support is simultaneously "take the common monomial out of a
polynomial" and "detect that a quantum state is separable":
The two look different only because a polynomial's basis is ordered -- so the meet is a
componentwise minimum -- while a ket's is flat, and the meet keeps a position only where
every element agrees. Both are the meet in a product of semilattices.
codebase does it the other way in
is harder to test in isolation for no gain here, since these operations are stateless
and one instance serves every call.
out the meet of the support is simultaneously "take the common monomial out of a
polynomial" and "detect that a quantum state is separable":
x^2*y + x^2 meet of (2,1) and (2,0) is (2,0), leaving y + 1
|001> + |011> meet of 001 and 011 is 0-1, leaving |0> + |1>The two look different only because a polynomial's basis is ordered -- so the meet is a
componentwise minimum -- while a ket's is flat, and the meet keeps a position only where
every element agrees. Both are the meet in a product of semilattices.
Members
Combine((`0,`0)
MethodIdentity
PropertyMeet((`0,`0)
Method
Angouri © 2019-2023 · Project's repo · Site's repo · Octicons · Transparency · 1953 pages online